home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Unsorted / AnimTimeCoder2.AMOS / AnimTimeCoder2.amosSourceCode
Encoding:
AMOS Source Code  |  1997-09-27  |  1.5 KB  |  63 lines

  1. Screen Open 0,320,256,2,0
  2. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  3. Palette 0,$FFF
  4. REALP=60
  5. FPS=16
  6. BRES=FPS/2
  7. FRM=0
  8. Open In 1,"dh1:final.anim"
  9.   _MODEREADWRITE[1]
  10.   F$=Input$(1,12)
  11.   OFS=12
  12.   Do 
  13.     Cline : Home : Print "Frame";FRM;"...";
  14.     Trap F$=Input$(1,8)
  15.     Exit If Errtrap
  16.     Add OFS,8
  17.     FLEN= Extension_8_0998(Mid$(F$,5))
  18.     If FLEN and 1 Then Inc FLEN
  19.     Reserve As Work 9,FLEN
  20.     ST=Start(9)
  21.      Extension_8_17A6 1 To ST,FLEN
  22.     AD=ST+4
  23.     MOND=0
  24.     Repeat 
  25.       ID$=Peek$(AD,4)
  26.       LE=Leek(AD+4)
  27.       If ID$="ANHD"
  28.         Add BRES,REALP
  29.         PP=BRES/FPS
  30.         If FRM=2569 : PP=2000 : End If 
  31.         If FRM=2579 : PP=120 : End If 
  32.         If FRM=2589 : PP=120 : End If 
  33.         If FRM=2599 : PP=120 : End If 
  34.         If FRM=2609 : PP=120 : End If 
  35.         If FRM=2620 : PP=1800 : End If 
  36.         BRES=BRES mod FPS
  37.         Pof(1)=OFS+AD-ST+8+14
  38.         Print #1, Extension_8_08D2(PP);
  39.         MOND=1
  40.       End If 
  41.       If ID$="CAMG"
  42.         Pof(1)=OFS+AD-ST+8
  43.         Print #1, Extension_8_08D2(Deek(AD+8+2) and $7FFF);
  44.         MOND=1
  45.       End If 
  46.       Add AD,8+LE
  47.       If LE and 1 Then Inc AD
  48.     Until AD=ST+FLEN
  49.     Add OFS,FLEN
  50.     If MOND Then Pof(1)=OFS
  51.      Extension_8_1016 FRM mod 320,256 To FRM mod 320,0,0
  52.      Extension_8_1016 FRM mod 320,256 To FRM mod 320,256-FLEN/300,1
  53.     Inc FRM
  54.   Loop 
  55. Close 1
  56. End 
  57. Procedure _MODEREADWRITE[CHAN]
  58.   If CHAN<1 or CHAN>8 Then Error 23
  59.   STIN=Doscall(-54)
  60.   AD=Areg(5)+$8BC+(CHAN-1)*10
  61.   If Leek(AD)=0 Then Error 97
  62.   Doke AD+4,$300
  63. End Proc